// pages/goodslist/goodslist.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    pagenum: 1,
    pagesize: 20,
    goodsList: [],
    total: 0,
    obj: '',
    isBottomflag: false,
    isRequestFlag: false  // 假设为false的时候 我们可以去请求
  },

  goGoodsDetail: function(info) {
    wx.navigateTo({
      url: '/pages/goodsdetail/goodsdetail?id=' + info.target.dataset.id
    })
  },

  getGoodsList: function(fn){
    if(this.data.isRequestFlag) return 

    this.setData({
      isRequestFlag: true 
    })

    var params = {
      query: this.data.obj.search || '',
      cid: this.data.obj.id || '',
      pagenum: this.data.pagenum,
      pagesize: this.data.pagesize
    }

    wx.request({
      url: 'https://api.zbztb.cn/api/public/v1/goods/search',
      method: 'GET',
      data: params,
      success: info => {
        this.setData({
          goodsList: [...this.data.goodsList, ...info.data.message.goods],
          total: info.data.message.total,
          isRequestFlag: false
        })

        fn && fn()
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      obj: options
    })
    this.getGoodsList()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.setData({
      pagenum: 1,
      pagesize: 20,
      goodsList: [],
      total: 0,
      isBottomflag: false,
      isRequestFlag: false
    })

    this.getGoodsList(function(){
      wx.stopPullDownRefresh()
    })
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if(this.data.isRequestFlag) return

    if(this.data.pagenum * this.data.pagesize >= this.data.total) {
      wx.showToast({
        title: '没有数据了~~~',
        icon: 'none'
      })

      this.setData({
        isBottomflag: true
      })

      return 
    }

    this.setData({
      pagenum: this.data.pagenum + 1
    })

    this.getGoodsList()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})